<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>C++ Standard Template Library</title>
  <link href="cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td valign="top">
  <div class="body-content">

  <div class="header-box">
    <a href="index.html">cppreference.com</a> &gt; C++ Standard
    Template Library
  </div>

  <h3>C++ Standard Template Library</h3>

  <p>The C++ STL (Standard Template Library) is a generic collection of
  class templates and algorithms that allow programmers to easily
  implement standard data structures like <a href=
  "cppqueue/index.html">queues</a>, <a href=
  "cpplist/index.html">lists</a>, and <a href=
  "cppstack/index.html">stacks</a>.</p>

  <p>The C++ STL provides programmers with the following constructs,
  grouped into three categories:</p>

  <ul>
    <li>Sequences

      <ul>
        <li><a href="cppvector/index.html">C++ Vectors</a></li>

        <li><a href="cpplist/index.html">C++ Lists</a></li>

        <li><a href="cppdeque/index.html">C++ Double-Ended
        Queues</a></li>
      </ul>
    </li>

    <li>Container Adapters

      <ul>
        <li><a href="cppstack/index.html">C++ Stacks</a></li>

        <li><a href="cppqueue/index.html">C++ Queues</a></li>

        <li><a href="cpppriority_queue/index.html">C++ Priority
        Queues</a></li>
      </ul>
    </li>

    <li>Associative Containers

      <ul>
        <li><a href="cppbitset/index.html">C++ Bitsets</a></li>

        <li><a href="cppmap/index.html">C++ Maps</a></li>

        <li><a href="cppmultimap/index.html">C++ Multimaps</a></li>

        <li><a href="cppset/index.html">C++ Sets</a></li>

        <li><a href="cppmultiset/index.html">C++ Multisets</a></li>
      </ul>
    </li>
  </ul>

  <p>The idea behind the C++ STL is that the hard part of using complex
  data structures has already been completed. If a programmer would
  like to use a stack of integers, all that she has to do is use this
  code:</p>
  <pre>
stack&lt;int&gt; myStack;
</pre>

  <p>With minimal effort, she can now <a href=
  "cppstack/push.html">push()</a> and <a href=
  "cppstack/pop.html">pop()</a> integers onto this stack. Through the
  magic of C++ Templates, she could specify any data type, not just
  integers. The STL Stack class will provide generic functionality of a
  stack, regardless of the data in the stack.</p>
  </div>
  </td>
  



  </tr>
  </table>
</body></html>
